Decoding method and apparatus

ABSTRACT

A decoder in a communication system using channel optimized vector quantization and including an encoder stores active encoder centroids c i  corresponding to active indices i, an active index being defined as an index that has a predetermined source probability p i &gt;0 of being selected by the encoder for transmission to the decoder, source probabilities p i  and the bit error rate epsilon to dynamically estimate a decoded vector using a sub-optimal algorithm in which only the most significant contributions are considered.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a national filing under 35 U.S.C. § 371 of International Application No. PCT/SE98/02344 filed Dec. 17, 1998, which claims priority on Swedish Patent Application 9704830-0 filed Dec. 22, 1997.

TECHNICAL FIELD

The present invention relates to a decoding method and apparatus in a communication system using channel optimized vector quantization.

BACKGROUND OF THE INVENTION

Vector quantization (VQ) is a data encoding method in which a sample vector consisting of several samples is approximated by the “nearest” vector of a collection of vectors called a code book. Instead of representing the sample vector by its components, it is represented by the code book index of this “nearest” code book vector. This index is transmitted to a decoder, which uses the index to retrieve the corresponding code book vector from a copy of the code book. Vector quantization is used in, for example, speech coding in mobile telephony. A drawback of this method is that the transmitted index may, due to the influence of the transmission channel, not always be the same as the received index. In these cases, the actually decoded vector may differ significantly from the original sample vector.

An often used approach to reduce the sensitivity to channel errors is to apply forward error correction coding (FEC). In this way the decoder may detect and even correct errors that occurred during transmission before code book lookup. However, a drawback of this method is that redundancy has to be introduced in the code words that are transmitted over the channel. Furthermore, this method requires very long codes in order to give an acceptable error rate performance. A common way to obtain such long code words is to collect indices from several vector quantized sample vectors before the FEC coding is performed. This collecting process results in a substantial delay, which is in general undesirable in real time applications, such as mobile telephony or video and audio transmission.

An alternative approach to error protection is channel optimized vector quantization (COVQ), see ref. [1,2]. Instead of protecting the transmitted index against channel errors COVQ takes into account the statistical properties of the channel already in the code book construction. The idea behind COVQ is that although the wrong code book index may have been received, the decoded code book vector should still be “close” to the original sample vector. A characteristic feature of COVQ is that the number of indices that may be transmitted is actually smaller than the number of indices that may be received. In this way, the code book may contain vectors “in between” code book vectors corresponding to actually transmitted indices. A channel error may therefore still result in a decoded vector that is “close” to the intended vector. Thus, COVQ offers a jointly optimized vector quantization and channel protection system. Since long code words are not required, the extra delay introduced by FEC coding may be avoided. A characteristic feature of conventional COVQ is that it has very large storage requirements, since the number of code book vectors is very large. There already exist methods to reduce these storage requirements on the encoder side down to the same as for normal VQ, see [3].

On the decoder side there has been suggested 141 an algorithm for soft decoding of received signals. However, this algorithm is computationally intense.

SUMMARY OF THE INVENTION

An object of the present invention is to provide a COVQ decoding method and apparatus in which the storage and computational requirements in the decoder are significantly reduced.

This object is achieved by a method and apparatus in accordance with the enclosed patent claims.

Briefly, the present invention achieves the above object by storing centroid vectors that correspond to active indices (indices that may actually be sent) in the decoder, and calculating the resulting decoder output vector from these vectors, stored source probabilities, a transmission channel quality measure and an actually received index. As will be shown below, this significantly reduces the storage requirements.

Furthermore, the computational complexity is reduced by including only the most significant contributions in the calculations.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention, together with further objects and advantages thereof, may best be understood by making reference to the following description taken together with the accompanying drawings, in which:

FIG. 1 is a block diagram of a channel protected vector quantization system;

FIG. 2 is a block diagram of a channel optimized vector quantization system;

FIG. 3 is a more detailed block diagram of a channel optimized vector quantization system;

FIG. 4 is a two-dimensional Voronoi-diagram illustrating the concept of active encoder centroids;

FIG. 5 is a block diagram of an embodiment of a channel optimized vector quantization system in accordance with the present invention;

FIG. 6 is a flow chart illustrating an embodiment of a decoding method on which the present invention is based;

FIG. 7 is a flow chart illustrating an embodiment of a sub-optimal decoding method in accordance with the present invention;

FIG. 8 is a flow chart illustrating another embodiment of a sub-optimal decoding method in accordance with the present invention; and

FIG. 9 is a flow chart illustrating a modified embodiment of the sub-optimal decoding method in FIG. 8.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the following description, the same reference designations are used for elements with the same or similar functions.

Before the invention is described in detail, a short summary of channel protected vector quantization and channel optimized vector quantization will be given with reference to FIGS. 1-3.

FIG. 1 is a block diagram illustrating the principles of a channel protected vector quantized communication system. A vector source 10 outputs sample vectors to a VQ encoder 12. VQ encoder 12 searches a code book 14 containing a collection of code book vectors to find the “closest” match. The index i of this code book vector is forwarded to a channel encoder 16 that provides this index with error protection. The protected index is forwarded to a modulator 18 and transmitted over a noisy channel. The received signal is demodulated in a demodulator 20. As indicated modulator 18, demodulator 20 and the noisy channel together form a digital channel. The demodulated signal is channel decoded in a channel decoder 22, and a received index j is forwarded to a VQ decoder 24. VQ decoder 24 is a simple lookup table that retrieves a code vector corresponding to index j from a copy of code book 14. The fact that the same code book is used in encoder and decoder has been indicated by the dashed line from code book 14 to decoder 24. Finally the retrieved code book vector is forwarded to a user 26.

FIG. 2 is a block diagram illustrating the principles of a channel optimized vector quantized communication system. A vector source 10 outputs sample vectors to a COVQ encoder 13. COVQ encoder 13 uses a code book 28 containing a collection of code book vectors to find the “closest” match. An index i characterizing the quantized sample vector is forwarded to a modulator 18 and transmitted over a noisy channel. The received signal is demodulated in a demodulator 20. The received and demodulated index j is forwarded to a COVQ decoder 25. COVQ decoder 25 is a simple lookup table that retrieves a code vector corresponding to index j from a code book 28. Finally the retrieved code book vector is forwarded to a user 26.

It is to be noted that in the case of COVQ in accordance with FIG. 2, code book 28 is, in general, very large. As indicated in FIG. 3 code book 28 comprises a collection of M code book vectors ĉ₀, ĉ₁, . . . , ĉ_(M-1). Principles for determining this code book are described in ref. [1,2]. As has been indicated in FIG. 3 not all vectors in the code book are active, i. e. not every vector has a source probability p_(i)>0 of being assigned to a given source vector x. The vectors that will never be assigned have been marked by “★” in FIG. 3. Thus, vectors with indices 1, 2, 3 and M-2 are inactive in FIG. 3. This means that these indices will never be transmitted to the decoder regardless of which source vector x that is encoded. The set of active vectors depends on the channel quality and is determined during a training procedure as explained in [1,2].

FIG. 3 illustrates the “matching” process in the COVQ encoder in more detail. A distortion calculator 32 typically calculates (see [1]) a collection of distortion measures αi(x) according to ${\alpha_{i}\quad (x)} = {{E\left\lbrack {\left. {{x - {\hat{c}}_{J}}}^{2} \middle| I \right. = i} \right\rbrack} = {\sum\limits_{j = 0}^{M - 1}\quad {{{x - {\hat{c}}_{j}}}^{2}\quad p_{j|i}}}}$

where E[.] denotes expected value, ∥·∥² denotes the squared euclidean distance, J,I are stochastic variables, M is the number of vectors in the code book and p_(j|i) is the conditional channel transition probability, obtained from block 34, that code book index j was received when index i was actually sent over the channel (the expression j|i denotes “j given i”). For a binary symmetric channel the conditional channel transition probabilities p_(j|i) may be calculated as

p _(j|i)=ε^(d) ^(_(H)) ^((j,i))(1−ε)^(N−d) ^(_(H)) ^((j,i))

where N denotes the number of bit positions in an index, d_(H)(j,i) denotes the Hamming distance (the number of differing bits) between j and i, and ε denotes the bit error rate (BER) of the channel.

The quantity αi(x) represents the expected decoding error or distortion of a sample vector x that has been vector quantized (encoded) to index i. In COVQ the index i giving the smallest distortion αi(x) for a given sample vector x is selected as the encoding index. Block 36 finds the index i of the distortion measure in the collection that has the smallest value. This is the index that will be transmitted.

The decoding in a conventional COVQ decoder is simple. As illustrated in FIG. 3 it consists of a simple lookup in block 25 of the decoder code book vector ĉ_(j) that corresponds to the received index j. However, as noted above this simple decoding scheme requires a lot of storage space for the large COVQ code book. As an example, encoding of LSF (Line Spectral Frequency) parameters involves quantization of 3-element floating point vectors. A typical COVQ code book size for this example is M=2¹⁸=262 144 vectors.

The idea behind the present invention is that it is not necessary to store the entire COVQ code book to obtain the decoded vector. Another possibility is to dynamically calculate or estimate this vector instead. As a starting point for this calculation, it may be shown that (see [3]) ${\hat{c}}_{j} = {{E\left\lbrack {\left. X \middle| J \right. = j} \right\rbrack} = {{E\left\lbrack {\left. c_{I} \middle| J \right. = j} \right\rbrack} = {\sum\limits_{i = 0}^{M - 1}\quad {c_{i} \cdot q_{i|j}}}}}$

where q_(i|j) denotes the conditional channel transition probability that an index i has been sent, given that an index j has been received. Furthermore, c_(i) are the active encoder centroids of the encoding or Voronoi-regions that are defined by (see [1, 2])

K _(i) ={x;α _(i)(x)≦α_(j)(x),j=0,1, . . . , M−1}

or expressed in words, c_(i) are the vectors to the “center of mass” of regions K_(i), where each region K_(i) encloses the tips of all the source vectors x that will be assigned to index i. FIG. 4 illustrates this for two-dimensional vectors x. The solid lines in FIG. 4 represent the borders between the different encoding regions K_(i), while the dots represent the centroids c_(i). Since inactive indices will have no encoding regions, it is appreciated that there are only M_(a) active encoder centroids c_(i).

The probabilities q_(i|j) may be calculated from the probabilities p_(j|i) and p_(i) by using Bayes theorem. Thus, q_(i|j) may be expressed as $q_{i|j} = \frac{p_{j|i} \cdot p_{i}}{\sum\limits_{i = 0}^{M - 1}\quad {p_{j|i} \cdot p_{i}}}$

This gives the following expression for the code book vector ${\hat{c}}_{j} = \frac{\sum\limits_{i = 0}^{M - 1}\quad {c_{i} \cdot p_{j|i} \cdot p_{i}}}{\sum\limits_{i = 0}^{M - 1}\quad {p_{j|i} \cdot p_{i}}}$

However, as noted before there are only M_(a) active encoder centroids c_(i). This means that the summation only has to be performed over active indices i. Thus, the decoder code book vector may be expressed as ${\hat{c}}_{j} = \frac{\sum\limits_{\underset{i}{\underset{indices}{active}}}^{\quad}\quad {c_{i} \cdot p_{j|i} \cdot p_{i}}}{\sum\limits_{\underset{i}{\underset{indices}{active}}}^{\quad}\quad {p_{j|i} \cdot p_{i}}}$

From this formula it is clear that what is actually needed at the decoder to calculate ĉ_(j) is a set of M_(a) active encoder centroids c_(i), a corresponding set of source probabilities p_(i) and the channel transition probabilities p_(j|i). However, as noted above, the bit error rate ε may be used to calculate the probabilities p_(j|i) in accordance with

p _(j|i)=ε^(d) ^(_(H)) ^((j,i))(1−ε)^(N−d) ^(_(H)) ^((j,i))

Returning once again to the above mentioned encoding of LSF parameters, the COVQ code book was assumed to consist of M=2¹⁸=262 144 vectors. If a bit error rate of 10% is assumed, the training process will typically result in M_(a)≈500 active encoder centroids c_(i), which is a significant reduction in storage requirements.

FIG. 5 is a block diagram of an embodiment of a channel optimized vector quantization system in accordance with the present invention. Since only the active indices are used by the decoder, it is sufficient to store only a collection 40 of active encoder centroids c_(i). This collection 40 will contain only the active centroid vectors and their corresponding indices. A vector calculator 42 calculates the code book vector ĉ_(j) that corresponds to a received index j by using collection 40, the stored (in block 44) source probabilities p_(i) and the stored (in block 46) bit error rate ε. In a typical embodiment vector calculator 42 is implemented by a micro processor or a micro/signal processor combination.

A flow chart illustrating the basic method is given in FIG. 6. In step S1 an index j is received from the encoder. Step S3 sets the numerator and denumerator in the above expression for ĉ_(j) to 0. Furthermore, step S3 initializes i to the first active index. In step S5 the numerator is incremented by c_(j).p_(j|i).p_(i) and the denumerator is incremented by p_(j|i).p_(i). Step S7 tests whether the current index i is the last active index. If this is the case, the result vector ĉ_(j) is formed by dividing the numerator by the denumerator in step S9. Otherwise, index i is updated to the next active index in step S11.

In the above discussion it has been assumed that all M_(a) source probabilities p_(i)>0 are used in the summation. However, the complexity can be reduced by accepting a sub-optimal estimate of ĉ_(j), in which the number of terms in the summation has been reduced.

One such sub-optimal approach to calculate an approximation to ĉ_(j) is to include only the most significant terms, that is terms for which p_(i)>δ, where δ is a small positive number, for example 0.01/M_(a). In this case, an estimate of ĉ_(j) may be expressed as ${\hat{c}}_{j} \approx \frac{\sum\limits_{\underset{p_{i} > \delta}{\underset{i\quad {for}\quad {which}}{\underset{indices}{active}}}}^{\quad}\quad {c_{i} \cdot p_{j|i} \cdot p_{i}}}{\sum\limits_{\underset{p_{i} > \delta}{\underset{i\quad {for}\quad {which}}{\underset{indices}{active}}}}^{\quad}\quad {p_{j|i} \cdot p_{i}}}$

A flow chart illustrating this method is given in FIG. 7. This flow chart differs from the flow chart of FIG. 6 by the added step S4. Step S4 tests whether the source probability exceeds a threshold δ. If it does, this index i is included in the summation. Otherwise this index is excluded from the sums in the numerator and denumerator.

Another sub-optimal approach to calculate an approximation to ĉ_(j) is to sum L terms in descending conditional channel transition probability order. This approach may be summarized as follows:

Receive index j Set numerator to 0 Set denumerator to 0 Set k (number of terms) to 0 Set current Hamming distance to 0 A. Find all active indices having the current Hamming distance to received index j Set i to first active index having the current Hamming distance to j B. Add c_(i).p_(j|i).p_(i) to numerator Add p_(j|i).p_(i) to denumerator Increment k by 1 If k=L (maximum number of terms) then go to C. else if i is last active index with current Hamming distance to j then increment current Hamming distance by 1 and go to A. else get next active i with current Hamming distance and go to B. C. Set ĉ_(j) to numerator/denumerator

A flow chart illustrating this method is given in FIG. 8. In step S1 index j is received. Step S12 initializes the numerator, denumerator, the number of accumulated terms, k, and the current Hamming distance to index j. Step S14 finds the set of active indices i having the current Hamming distance to the received index j. Step S16 sets i to the first active index with this Hamming distance. Step S18 increments the numerator, denumerator and the accumulated number of terms, k. Step S20 tests whether all L terms have been accumulated. If this is the case, step S9 is reached, in which the final vector is calculated. If k<L, Step S22 tests whether all active indices having the current Hamming distance to the received index j have been processed. If this is the case, step S24 increments the current Hamming distance by 1, and thereafter the routine returns to step S14 to find the set of active indices that have this Hamming distance to j. Otherwise i is set to the next index in the determined set with the current Hamming distance to j, and the routine returns to step S18 to add the next term to each sum.

Another way of summing a fixed number (L) of terms consists of sorting the M_(a) active indices i in order of Hamming distance to the received index j. This may be done by performing an XOR operation on the received index j and each active index i and summing the number of 1-bits in the result. These results are stored in a sorted table, The indices i resulting in the fewest 1-bits have the shortest Hamming distances to j and appear first in the table. The active indices i corresponding to the L first entries in this table are then used in the truncated sums of the numerator and denumerator in the estimate of ĉ_(j).

It has been found that very good results may be obtained with very few terms. Thus, experiments have shown that an L in the interval 1-10 gives satisfactory results. In fact L≈5 or higher gives a hardly noticeable distortion relative to the full number (M_(a)≈500) of terms. Even the value L=1 (a single term) results in only a small distortion. This is due to the fact that in most cases the single selected centroid in the decoder (i.e. the nearest Hamming neighbor to received index j), actually is the correct vector, i.e. the same as the centroid corresponding to the transmitted index i. Thus, further terms would only distort the result in these cases.

Since there is a high probability that the received index j is the same as the transmitted index i, or is close to it in Hamming distance, the previous sub-optimal method may be modified by stopping the summations before the limit L is reached. In such a case the summed terms have high channel transition probabilities p_(j|i) (weight) and further terms would only give small contributions the the end result. In this modified embodiment the conditional channel transition probabilities p_(j|i) of summed terms is accumulated, and the summation is stopped if a predetermined probability threshold p_(T) has been exceeded by the accumulated probability p before L is reached. One advantage of such a modified method lies in the battery savings (in a mobile station) that are obtained by reducing the number of arithmetic operations that have to be performed. This approach may be summarized as follows:

Receive index j Set numerator to 0 Set denumerator to 0 Set k (number of terms) to 0 Set p (accumulated conditional channel transition probability) to 0 Set current Hamming distance to 0 A. Find all active indices having the current Hamming distance to received index j Set i to first active index having the current Hamming distance to j B. Add c_(i).p_(j|i).p_(i) to numerator Add p_(j|i).p_(i) to denumerator Increment k by 1 Increment p by p_(j|i) If p>p_(T) (probability threshold) or if k=L (maximum number of terms) then go to C. else if i is last active index with current Hamming distance to j then increment current Hamming distance by 1 and go to A. else get next active i with current Hamming distance and go to B. C. Set ĉ_(j) to numerator/denumerator

A flow chart illustrating this method is given in FIG. 9. This flow chart differs from the flow chart in FIG. 8 in three ways. The first difference is that step S12 has been replaced by a step S13, in which both an accumulated probability p and a counter k are set to 0.

Furthermore, step S18 has been replaced by a step S19, in which the accumulated probability p is incremented by p_(j|i) and k is incremented by 1. Finally, step S20 has been replaced by a step S21, which tests if the accumulated probability p exceeds the probability threshold p_(T) or if all L terms have been summed.

Another way to perform this modified method consists of sorting the M_(a) active indices i in order of Hamming distance to the received index j. This may be done by performing an XOR operation on the received index j and each active index i and summing the number of 1-bits in the result. These results are stored in a sorted table. The indices i resulting in the fewest 1-bits have the shortest Hamming distances to j and appear first in the table. The active indices i corresponding to most significant entries in this table are then used in the truncated sums of the numerator and denumerator in the estimate of ĉ_(j). The sums are truncated when the probability threshold p_(T) has been exceeded by the accumulated conditional channel transition probabilities p_(j|i) of to the included terms or when L terms have been included.

In the above description of sub-optimal embodiments the conditional channel transition probability p_(j|i) has been used as a goodness measure to determine the most significant terms. However, it is also possible to use other goodness measures, such as q_(i|j), p_(i), and |c_(i)|², or an arithmetic combination thereof. In these cases terms are summed in descending order of these other goodness measures instead.

In the above description the invention has been described with reference to hard decoding, in which the bits of a received index j have been determined to be either 1 or 0. However, the same principles may also be applied to soft decoding, in which the bits of the received index are not quantized to 1 or 0, but retain their actually demodulated floating point values. Soft decoding in general is described in [5].

The main difference between hard and soft decoding is that the conditional channel transition probabilities p_(j|i) are replaced by conditional channel transition probability density functions f_(R|I)(r|i) representing the probability density that a “soft index” r has been received when a “hard” index i has been sent (the possibility of soft decoding has been indicated by the soft index r in parenthesis below the digital channel in FIG. 5).

In soft decoding it is customary to represent an index as a vector, in which each bit position represents one dimension. Furthermore, usually “0” and “1” are represented by +1 and −1, respectively. Thus, if index i is the integer 101001 (in binary representation), a transformation b transforms this index into the vector b(i)=(−41, 1, −1, 1, 1, −1). Similarly, the soft decoded index vector r=(r₁, r₂, . . . , r_(N−)1), where each component is a floating point number between −∞ and +∞. With these definitions a suitable probability density function f_(R|I)(r|i) for a binary symmetric channel may be expressed as ${f_{R|I}\quad \left( \underset{\_}{r} \middle| i \right)} = {\frac{1}{\sqrt{2\quad \pi}\quad \sigma}\quad ^{{- \frac{1}{2\quad \sigma^{2}}}\quad {{\underset{\_}{r} - {\underset{\_}{b}\quad {(i)}}}}^{2}}}$

where ∥.∥² denotes the squared euclidean distance and σ² denotes the noise variance of the channel. The variance σ² is related to the bit error rate ε in accordance with the equation $ɛ = {\frac{1}{\sqrt{\pi}}\quad {\int_{\frac{1}{\sqrt{2\quad \sigma}}}^{\infty}{^{- z^{2}}\quad {z}}}}$

Thus, the channel quality may be represented by either the bit error rate ε or the noise variance σ², as indicated in block 46 in FIG. 5.

The expression for calculating the decoded vector in vector calculator 42 in FIG. 5 may now be written as ${\hat{c}}_{\underset{\_}{r}} = \frac{\sum\limits_{\underset{i}{\underset{indices}{\underset{active}{only}}}}^{\quad}\quad {{c_{i} \cdot f_{R|I}}\quad {\left( \underset{\_}{r} \middle| i \right) \cdot p_{i}}}}{\sum\limits_{\underset{i}{\underset{indices}{\underset{active}{only}}}}^{\quad}\quad {f_{R|I}\quad {\left( \underset{\_}{r} \middle| i \right) \cdot p_{i}}}}$

Note that in this expression ĉ_(r) is, in general, not exactly one of the code book vectors ĉ_(j), since the soft decoded index vector r may not exactly correspond to an index j.

A sub-optimal method in which only terms having p_(i)>σ are retained may be expressed as ${\hat{c}}_{\underset{\_}{r}} \approx \frac{\sum\limits_{\underset{p_{i} > \delta}{\underset{i\quad {for}\quad {which}}{\underset{indices}{active}}}}^{\quad}\quad {{c_{i} \cdot f_{R|I}}\quad {\left( \underset{\_}{r} \middle| i \right) \cdot p_{i}}}}{\sum\limits_{\underset{p_{i} > \delta}{\underset{i\quad {for}\quad {which}}{\underset{indices}{active}}}}^{\quad}\quad {f_{R|I}\quad {\left( \underset{\_}{r} \middle| i \right) \cdot p_{i}}}}$

Similar to the hard decoding case there are also corresponding sub-optional expressions based on sorting terms in descending order of f_(R|I)(r|i) and including only a limited number of terms.

It will be understood by those skilled in the art that various modifications and changes may be made to the present invention without departure from the spirit and scope thereof, which is defined by the appended claims.

REFERENCES

1. Nariman Farvardin, “A Study of Vector Quantization for Noisy Channels”, IEEE Transaction on Information Theory, Vol. IT-36, No. 4, pp. 799-809, July 1990.

2. Nariman Farvardin, Vinay Vaishampayan, “On the Performance and Complexity of Channel-Optimized Vector Quantizers”, IEEE Transaction on Information Theory, Vol. 37, No. 1, pp. 155-160, January 1991.

3. P. Hedelin, P. Knagenhjelm, M. Skoglund, “Theory for Transmission of Vector Quantization Data”, Chapter 10 of “Speech coding and Synthesis”, Elsevier Science B.V., 1995.

4. Hong Xiao and Branka Vucetic, “Channel Optimized Vector Quantization with Soft Input Decoding”, ISSPA 96, 26-28 August, 1996.

5. Mikael Skoglund, Per Hedelin, “Vector Quantization over a Noisy Channel Using Soft Decision Decoding”, Proceedings of IEEE International Conference on Acoustics, Speech and Signal Processing, Vol. 5, pp. 605-608, Adelaide, Australia, April 1994. 

What is claimed is:
 1. A decoding method in a communication system using channel optimized vector quantization and including an encoder and a decoder, characterized by performing the following steps at said decoder: storing active encoder centroids c_(i) corresponding to active indices i, an active index being defined as an index that has a predetermined source probability p_(i)>0 of being selected by said encoder for transmission to said decoder over a transmission channel; storing said source probabilities p_(i); storing a transmission channel quality measure; dynamically calculating, from said stored transmission channel quality measure, a set of conditional channel transition probabilities p_(j|i) that an index j has been received by said decoder given that an index i has been sent by said encoder; calculating an estimate ĉ_(j) of a decoded vector in accordance with the formula. ${\hat{c}}_{j} = \frac{\sum\limits_{\underset{i}{\underset{indices}{active}}}^{\quad}\quad {c_{i} \cdot p_{j|i} \cdot p_{i}}}{\sum\limits_{\underset{i}{\underset{indices}{active}}}^{\quad}\quad {p_{j|i} \cdot p_{i}}}$

where the summations are restricted to only the most significant terms, and the terms are summed in descending conditional channel transition probability order; and stopping summation at the latest when a predetermined number L, which is less than the number of active indices, of terms have been summed.
 2. The method of claim 1, characterized by calculating said estimate ĉ_(j) of a decoded vector in accordance with the formula: ${\hat{c}}_{j} \approx \frac{\sum\limits_{\underset{p_{i} > \delta}{\underset{i\quad {for}\quad {which}}{\underset{indices}{active}}}}^{\quad}\quad {c_{i} \cdot p_{j|i} \cdot p_{i}}}{\sum\limits_{\underset{p_{i} > \delta}{\underset{i\quad {for}\quad {which}}{\underset{indices}{active}}}}^{\quad}\quad {p_{j|i} \cdot p_{i}}}$

where δ is a predetermined small positive constant.
 3. The method of claim 1, characterized by accumulating the conditional channel transition probabilities of summed terms; and stopping summation when a predetermined probability threshold has been exceeded by the accumulated conditional channel transition probabilities before L terms have been summed.
 4. The method of any of the preceding claims 1, 2, or 3, characterized by said transmission channel quality measure being the bit error rate ε of said transmission channel.
 5. The method of claim 4, characterized by calculating said conditional channel transition probabilities p_(j|i) in accordance with the formula p _(j|i)=ε^(d) ^(_(H)) ^((j,i))(1−ε)^(N−d) ^(_(H)) ^((j,i)) where N denotes the number of bit positions in an index, and d_(H)(j,i) denotes the Hamming distance between j and i.
 6. A decoding method in a communication system using channel optimized vector quantization and including an encoder and a decoder, characterized by performing the following steps at said decoder: storing active encoder centroids c_(i) corresponding to active indices i, an active index being defined as an index that has a predetermined source probability p_(i)>0 of being selected by said encoder for transmission to said decoder over a transmission channel; storing said source probabilities p_(i); storing a transmission channel quality measure; dynamically calculating, from said stored transmission channel quality measure a set of conditional channel transition probability density function values f_(R|I)(r|i) representing the probability density that a soft decoded index r has been received by said decoder given that an index i has been sent by said encoder; calculating an estimate ĉ_(j) of a decoded vector in accordance with the formula: ${\hat{c}}_{\underset{\_}{r}} = \frac{\sum\limits_{\underset{i}{\underset{indices}{active}}}^{\quad}\quad {{c_{i} \cdot f_{R|I}}\quad {\left( \underset{\_}{r} \middle| i \right) \cdot p_{i}}}}{\sum\limits_{\underset{i}{\underset{indices}{active}}}^{\quad}\quad {f_{R|I}\quad {\left( \underset{\_}{r} \middle| i \right) \cdot p_{i}}}}$

where the summations are restricted to only the most significant terms, and the terms are summed in descending conditional channel transition probability density function value order; and stopping summation when a predetermined number L, which is less than the number of active indices, of terms have been summed.
 7. The method of claim 6, characterized by calculating said estimate ĉ_(r) of said decoded vector in accordance with the formula: ${\hat{c}}_{\underset{\_}{r}} \approx \frac{\sum\limits_{\underset{p_{i} > \delta}{\underset{i\quad {for}\quad {which}}{\underset{indices}{active}}}}^{\quad}\quad {{c_{i} \cdot f_{R|I}}\quad {\left( \underset{\_}{r} \middle| i \right) \cdot p_{i}}}}{\sum\limits_{\underset{p_{i} > \delta}{\underset{i\quad {for}\quad {which}}{\underset{indices}{active}}}}^{\quad}\quad {f_{R|I}\quad {\left( \underset{\_}{r} \middle| {\backslash i} \right) \cdot p_{i}}}}$

where δ is a predetermined small positive constant.
 8. The method of claim 6, characterized by accumulating the conditional channel transition probability density function values of summed terms; and stopping summation when a predetermined probability threshold has been exceeded by the accumulated conditional channel transition probability density function values before L terms have been summed.
 9. The method of any of the preceding claims claim 6, 7, or 8, characterized by said transmission channel quality measure being a noise variance σ² of said transmission channel.
 10. The method of claim 9, characterized by calculating said conditional channel transition probability density function values f_(R|I)(r|i) in accordance with the formula ${f_{R|I}\quad \left( \underset{\_}{r} \middle| i \right)} = {\frac{1}{\sqrt{2\quad \pi \quad \sigma}}\quad ^{{- \frac{1}{2\quad \sigma^{2}}}\quad {{\underset{\_}{r} - {\underset{\_}{b}\quad {(i)}}}}^{2}}}$

where b(i) represents an index i as a vector in which each binary digit in i corresponds to either +1 or −1; and ∥·∥² denotes squared euclidean distance.
 11. A decoding apparatus in a communication system using channel optimized vector quantization and including an encoder and a decoder, characterized by: means for storing active encoder centroids c_(i) corresponding to active indices i, an active index being defined as an index that has a predetermined source probability p_(i)>0 of being selected by said encoder for transmission to said decoder over a transmission channel; means for storing said source probabilities p_(i); means for storing a transmission channel quality measure; means for dynamically calculating, from said stored transmission channel quality measure, a set of conditional channel transition probabilities p_(j|i) that an index j has been received by said decoder given that an index i has been sent by said encoder; means for calculating an estimate ĉ_(j) of a decoded vector in accordance with the formula: ${\hat{c}}_{j} = \frac{\sum\limits_{\underset{i}{\underset{indices}{active}}}^{\quad}\quad {c_{i} \cdot p_{j|i} \cdot p_{i}}}{\sum\limits_{\underset{i}{\underset{indices}{active}}}^{\quad}\quad {p_{j|i} \cdot p_{i}}}$

where the summations are restricted to only the most significant terms, and the terms are summed in descending conditional channel transition probability order: and means for stopping summation at the latest when a predetermined number L, which is less than the number of active indices, of terms have been summed.
 12. The apparatus of claim 11, characterized by means for calculating said estimate ĉ_(j) of a decoded vector in accordance with the formula: ${\hat{c}}_{j} \approx \frac{\sum\limits_{\underset{p_{i} > \delta}{\underset{i\quad {for}\quad {which}}{\underset{indices}{active}}}}^{\quad}\quad {c_{i} \cdot p_{j|i} \cdot p_{i}}}{\sum\limits_{\underset{p_{i} > \delta}{\underset{i\quad {for}\quad {which}}{\underset{indices}{active}}}}^{\quad}\quad {p_{j|i} \cdot p_{i}}}$

where δ is a predetermined small positive constant.
 13. The apparatus of claim 11, characterized by means for accumulating the conditional channel transition probabilities of summed terms; and means for stopping summation when a predetermined probability threshold has been exceeded by the accumulated conditional channel transition probabilities before L terms have been summed.
 14. The apparatus of any of the preceding claims 11, 12, or 13, characterized by means for calculating said conditional channel transition probabilities p_(j|i) in accordance with the formula p _(j|i)=ε^(d) ^(_(H)) ^((j,i))(1−ε)^(N−d) ^(_(H)) ^((j,i)) where N denotes the number of bit positions in an index, d_(H)(j,i) denotes the Hamming distance between j and, and ε denotes the bit error rate of said transmission channel.
 15. A decoding apparatus in a communication system using channel optimized vector quantization and including an encoder and a decoder, characterized by: means for storing active encoder centroids c_(i) corresponding to active indices i, an active index being defined as an index that has a predetermined source probability p_(i)>0 of being selected by said encoder for transmission to said decoder over a transmission channel; means for storing said source probabilities p_(i); means for storing a transmission channel quality measure; means for dynamically calculating, from said stored transmission channel quality measure, a set of conditional channel transition probability density function values f_(R|I)(r|i) representing the probability density that a soft decoded index r has been received by said decoder given that an index i has been sent by said encoder; means for calculating an estimate ĉ_(j) of a decoded vector in accordance with the formula: ${\hat{c}}_{\underset{\_}{r}} = \frac{\sum\limits_{\underset{i}{\underset{indices}{active}}}^{\quad}\quad {{c_{i} \cdot f_{R|I}}\quad {\left( \underset{\_}{r} \middle| i \right) \cdot p_{i}}}}{\sum\limits_{\underset{i}{\underset{indices}{active}}}^{\quad}\quad {f_{R|I}\quad {\left( \underset{\_}{r} \middle| i \right) \cdot p_{i}}}}$

where the summations are restricted to only the most significant terms, and the terms are summed in descending conditional channel transition probability density function value order; and means for stopping summation when a predetermined number L, which is less than the number of active indices, of terms have been summed.
 16. The apparatus of claim 15, characterized by means for calculating said estimate ĉ_(r) of said decoded vector in accordance with the formula: ${\hat{c}}_{\underset{\_}{r}} \approx \frac{\sum\limits_{\underset{p_{i} > \delta}{\underset{i\quad {for}\quad {which}}{\underset{indices}{active}}}}^{\quad}\quad {{c_{i} \cdot f_{R|I}}\quad {\left( \underset{\_}{r} \middle| i \right) \cdot p_{i}}}}{\sum\limits_{\underset{p_{i} > \delta}{\underset{i\quad {for}\quad {which}}{\underset{indices}{active}}}}^{\quad}\quad {f_{R|I}\quad {\left( \underset{\_}{r} \middle| i \right) \cdot p_{i}}}}$

where δ is a predetermined small positive constant.
 17. The apparatus of claim 15, characterized by means for accumulating the conditional channel transition probability density function values of summed terms; and means for stopping summation when a predetermined probability threshold has been exceeded by the accumulated conditional channel transition probability density function values before L terms have been summed.
 18. The apparatus of any of the preceding claims 15, 16, or 17, characterized by means for calculating said conditional channel transition probability density function values f_(R|I)(r|i) in accordance with the formula ${f_{R|I}\quad \left( \underset{\_}{r} \middle| i \right)} = {\frac{1}{\sqrt{2\quad \pi \quad \sigma}}\quad ^{{- \frac{1}{2\quad \sigma^{2}}}\quad {{\underset{\_}{r} - {\underset{\_}{b}\quad {(i)}}}}^{2}}}$

where b(i) represents an index i as a vector in which each binary digit in i corresponds to either +1 or −1, ∥·∥² denotes squared euclidean distance, and σ² denotes a noise variance of said transmission channel.
 19. A mobile station in a communication system using channel optimized vector quantization, characterized by a decoder including: means for storing active encoder centroids c_(i) corresponding to active indices i, an active index being defined as an index that has a predetermined source probability p_(i)>0 of being selected by an encoder for transmission to said decoder over a transmission channel; means for storing said source probabilities p_(i); means for storing a transmission channel quality measure; means for dynamically calculating, from said stored transmission channel quality measure, a set of conditional channel transition probabilities p_(j|i) that an index j has been received by said decoder given that an index i has been sent by said encoder, means for calculating an estimate ĉ_(i) of a decoded vector in accordance with the formula: ${\hat{c}}_{j} = \frac{\sum\limits_{\underset{i}{\underset{indices}{active}}}^{\quad}\quad {c_{i} \cdot p_{j|i} \cdot p_{i}}}{\sum\limits_{\underset{i}{\underset{indices}{active}}}^{\quad}\quad {p_{j|i} \cdot p_{i}}}$

where the summations are restricted to only the most significant terms, and the terms are summed in descending conditional channel transition probability order; and means for stopping summation when a predetermined number L, which is less than the number of active indices, of terms have been summed.
 20. A mobile station in a communication system using channel optimized vector quantization, characterized by a decoder including: means for storing active encoder centroids c_(i) corresponding to active indices i, an active index being defined as an index that has a predetermined source probability p_(i)>0 of being selected by an encoder for transmission to said decoder over a transmission channel; means for storing said source probabilities p_(i); means for storing a transmission channel quality measure; means for dynamically calculating, from said stored transmission channel quality measure, a set of conditional channel transition probability density function values f_(R|I)(r|i) representing the probability density that a soft decoded index r has been received by said decoder given that an index i has been sent by said encoder; means for calculating an estimate ĉ_(j) of a decoded vector in accordance with the formula: ${\hat{c}}_{\underset{\_}{r}} = \frac{\sum\limits_{\underset{i}{\underset{indices}{active}}}^{\quad}\quad {{c_{i} \cdot f_{R|I}}\quad {\left( \underset{\_}{r} \middle| i \right) \cdot p_{i}}}}{\sum\limits_{\underset{i}{\underset{indices}{active}}}^{\quad}\quad {f_{R|I}\quad {\left( \underset{\_}{r} \middle| i \right) \cdot p_{i}}}}$

where the summations are restricted to only the most significant terms, and the terms are summed in descending conditional channel transition probability density function value order; and means for stopping summation when a predetermined number L, which is less than the number of active indices, of terms have been summed.
 21. A base station in a communication system using channel optimized vector quantization, characterized by a decoder including: means for storing active encoder centroids c_(i) corresponding to active indices i, an active index being defined as an index that has a predetermined source probability p_(i)>0 of being selected by an encoder for transmission to said decoder over a transmission channel; means for storing said source probabilities p_(i); means for storing a transmission channel quality measure; means for dynamically calculating, from said stored transmission channel quality measure, a set of conditional channel transition probabilities p_(j|i) that an index j has been received by said decoder given that an index i has been sent by said encoder; means for calculating an estimate ĉ_(j) of a decoded vector in accordance with the formula: ${\hat{c}}_{j} = \frac{\sum\limits_{\underset{i}{\underset{indices}{active}}}^{\quad}\quad {c_{i} \cdot p_{j|i} \cdot p_{i}}}{\sum\limits_{\underset{i}{\underset{indices}{active}}}^{\quad}\quad {p_{j|i} \cdot p_{i}}}$

where the summations are restricted to only the most significant terms, and the terms are summed in descending conditional channel transition probability order; and means for stopping summation when a predetermined number L, which is less than the number of active indices, of terms have been summed.
 22. A base station in a communication system using channel optimized vector quantization, characterized by a decoder including: means for storing active encoder centroids c_(i) corresponding to active indices i, an active index being defined as an index that has a predetermined source probability p_(i)>0 of being selected by an encoder for transmission to said decoder over a transmission channel; means for storing said source probabilities p_(i); means for storing a transmission channel quality measures means for dynamically calculating, from said stored transmission channel quality measure, a set of conditional channel transition probability density function values f_(R|I)(r|i) representing the probability density that a soft decoded index r has been received by said decoder given that an index i has been sent by said encoder: means for calculating an estimate ĉ_(j) of a decoded vector in accordance with the formula: ${\hat{c}}_{\underset{\_}{r}} = \frac{\sum\limits_{\underset{i}{\underset{indices}{active}}}^{\quad}\quad {{c_{i} \cdot f_{R|I}}\quad {\left( \underset{\_}{r} \middle| i \right) \cdot p_{i}}}}{\sum\limits_{\underset{i}{\underset{indices}{active}}}^{\quad}\quad {f_{R|I}\quad {\left( \underset{\_}{r} \middle| i \right) \cdot p_{i}}}}$

where the summations are restricted to only the most significant terms, and the terms are summed in descending conditional channel transition probability density function value order; and means for stopping summation when a predetermined number L, which is less than the number of active indices, of terms have been summed. 